#include <iostream>
#include <vector>
#include <functional>

template <typename T> int func(T x) { return x; }

using func1 = std::function<void()>;

class Test
{
public:
    Test() {}
    ~Test() {}
};

template <typename T> void print(const std::vector<T> &vec)
{
    for (const auto &it : vec)
        std::cout << it << " ";
    std::cout << std::endl;
}

int main()
{
    std::string str;
    func(10);
    const std::vector<int> vec{1, 2, 3, 4};
    print<int>(vec);
    return 0;
}
